Szymon Świerkosz [Thu, 10 May 2012 18:12:13 +0000 (20:12 +0200)]
Add support for User:0 in 'user' and 'user.groups' RL modules.
Change-Id: I290e44166306036629ada990e233f098558c2aea
Aaron Schulz [Thu, 10 May 2012 18:11:02 +0000 (18:11 +0000)]
Merge "Use local context to get messages"
Aaron Schulz [Thu, 10 May 2012 18:10:00 +0000 (18:10 +0000)]
Merge "Fix typo in comments, rm debugging code"
Reedy [Thu, 10 May 2012 18:09:23 +0000 (18:09 +0000)]
Merge "Added missing GPLv2 headers in some places."
Brion VIBBER [Thu, 10 May 2012 18:03:19 +0000 (18:03 +0000)]
Merge "Adding new getCreator and getOldestRevision methods to WikiPage class."
Max Semenik [Thu, 10 May 2012 17:01:50 +0000 (21:01 +0400)]
Fix typo in comments, rm debugging code
Change-Id: I1ae2e59048fbeaf1a1f279dd5bd38bd19b5a8498
Alexandre Emsenhuber [Thu, 10 May 2012 15:58:38 +0000 (17:58 +0200)]
Use local context to get messages
Change-Id: I942ce637b53599b865f36012bd9a91f0fea63b1f
Alexandre Emsenhuber [Thu, 10 May 2012 15:51:44 +0000 (17:51 +0200)]
Added missing GPLv2 headers in some places.
Also made file/class documentation more consistent and removed a duplicate comment from SpecialPageFactory.php in SpecialPage.php.
Change-Id: I99dd2de7fe461f2fad4e0bd315ebc2899958a90f
Nikerabbit [Thu, 10 May 2012 06:40:45 +0000 (06:40 +0000)]
Merge "Use the style for htmlform.tip Vector wide."
Kaldari [Mon, 7 May 2012 20:39:02 +0000 (13:39 -0700)]
Adding new getCreator and getOldestRevision methods to WikiPage class.
Patch 2: Adding getOldest method per comments
Patch 3: whitespace fix
Patch 4: renaming getOldest to getOldestRevision
Patch 5: separating into 3 methods: getOldestRevisionId, getOldestRevision, getCreator
Patch 6: more concise, fixing whitespace
Patch 7: return user object instead of user id
Patch 8: consolidating revision methods per discussion
Patch 9: whitespace
Patch 11: better commit summary
Patch 12: Typo, sigh
Patch 13: switching to use Revision::newFromRow per comment
Patch 14: using Revision::selectFields()
Patch 15: moving outside of while loop
Change-Id: I140e17a95b89c9263978942fd642d6a236a5cc4f
Aaron Schulz [Wed, 9 May 2012 23:41:44 +0000 (23:41 +0000)]
Merge "Factor out module name validation into a static function"
Catrope [Wed, 9 May 2012 22:43:45 +0000 (22:43 +0000)]
Merge "Remove 'jquery.ui.button' as dependency for mediawiki.action.history"
Catrope [Wed, 9 May 2012 21:10:33 +0000 (14:10 -0700)]
Factor out module name validation into a static function
Also add the requirement that module names be at most 255 bytes, so
they'll fit in the DB fields that we put module names in (md_module,
mr_resource, mrl_resource)
Change-Id: I7193c9beb7aff4eabfe20db461e6f9032ae994b1
Aaron [Wed, 9 May 2012 20:59:27 +0000 (13:59 -0700)]
[SiteStatsUpdate] Changing raw DB update calls to use SiteStatsUpdate.
* Made SiteStatsUpdate fields protected
* Added factory function for unretarded object construction
* Changed FileRepo code to use deferred stats updates like everything else
Change-Id: I93039104b14f0362509e37b6852604ffb0898dc7
Translation updater bot [Wed, 9 May 2012 20:10:15 +0000 (20:10 +0000)]
Localisation updates from translatewiki.net.
Change-Id: I5c0b31d07219bbc804862ff53c877e82d803b789
Aaron Schulz [Wed, 9 May 2012 18:44:11 +0000 (18:44 +0000)]
Merge "Use local context to get messages"
Brion VIBBER [Wed, 9 May 2012 18:37:23 +0000 (18:37 +0000)]
Merge "[FileRepo] Purging/transaction fixes."
Alexandre Emsenhuber [Mon, 7 May 2012 04:38:51 +0000 (06:38 +0200)]
Use local context to get messages
Change-Id: Ieb3564e5532e421b4b803ed6c327d6a75ed0103c
Alexandre Emsenhuber [Wed, 9 May 2012 17:55:56 +0000 (19:55 +0200)]
Added missing GPLv2 headers in some places.
Also made file/class documentation more consistent.
Change-Id: Ib46e50da4ec649a6a06cbeed00752effb79ed06e
Timo Tijhof [Wed, 9 May 2012 14:40:34 +0000 (14:40 +0000)]
Merge "Add CSS class .mw-code (matching <pre>)"
Timo Tijhof [Sat, 14 Apr 2012 03:23:16 +0000 (05:23 +0200)]
Add CSS class .mw-code (matching <pre>)
- Add CSS class .mw-code.
All skins that stye <pre> now also style .mw-code.
This is because there are situations where a <pre> element is not
allowed (e.g. when the child code contains <div>) by Tidy and W3C, but
should still be styled as such.
- Required for fixing bug 19416 and bug 35875.
SyntaxHighlighter Geshi has it's own custom markup that can't be relied on
for both consistency (it can change over time) and due to its own
over "!important"-ized css reset on it's own classes, so although it
(sometimes!) does use a <pre>, that <pre> is completely reset so the skins
css doesn't (and frankly shouldn't) apply to that.
Up until last year this extension wrapped all of Geshi's internal output in
a <div class="mw-geshi" />. Leaving all wmf wikis to have to create a hack
in their local css (for every skins!) to reproduce the skins's <pre> style
on .mw-geshi.
Previously this was attempted to be fixed inside Geshi itself by wrapping
all of Geshi's internal output in a <PRE class="mw-geshi"> instead of a
<DIV class="mw-geshi">. That worked fine because that element didn't have
any of geshi's internal classes on it so it was outside the scope of the
reset and the skins' css applied fine.
However when Tidy is enabled this got messed up badly and (part) of the
Geshi output was ripped out of the containing <pre> by Tidy because the W3C
doesn't allow a <div> to be inside a <pre>.
Now fixed in a different way by instead providing a css class in all skins
that when given to any element will give it the same styling that it does
to <pre>. Separation of content and styling.
Tested in all core skins, works great. The style of the geshi output is
preserved and the container looks like any other <pre> in that skin.
Change-Id: I4ff5d0197ba8dc0dad3cafd03f2b120bc22e75cb
Siebrand Mazeland [Wed, 9 May 2012 11:08:16 +0000 (13:08 +0200)]
Use the style for htmlform.tip Vector wide.
Instead of only in preferences.
Change-Id: I54438d8661c6181eede73c992e60298c4a54535d
Siebrand [Wed, 9 May 2012 09:11:26 +0000 (09:11 +0000)]
Merge "Follow up change Icc8dc4ae: add new message keys to maintenance scripts"
Siebrand Mazeland [Wed, 9 May 2012 07:26:26 +0000 (09:26 +0200)]
Remove UI overrides for simple English.
This was introduced a while ago, but this code should simply fall back to
English completely.
Change-Id: If311c2b6847068bdca6dd44d294ca207639a9f5b
raymond [Wed, 9 May 2012 07:00:07 +0000 (09:00 +0200)]
Follow up change Icc8dc4ae: add new message keys to maintenance scripts
Change-Id: Ic7040fb32044bf8b500c081881e4b29261f1296b
Krinkle [Wed, 9 May 2012 06:59:31 +0000 (06:59 +0000)]
Merge "fix bug 29002 - in RTL wikis resizable are flipped"
Krinkle [Wed, 9 May 2012 06:39:08 +0000 (06:39 +0000)]
Merge "HTTP: Fix
ded6170bd2072971f72db794f3ab1625a8e13475, which broke all HTTP calls."
Aaron [Tue, 8 May 2012 22:18:10 +0000 (15:18 -0700)]
HTTP: Fix
ded6170bd2072971f72db794f3ab1625a8e13475, which broke all HTTP calls.
* respHeaders contains arrays for each header (should've been
respHeaders['content-length'][0] instead of respHeaders['content-length'])
using getResponseHeader() instead.
* This also fixes InstantCommons, which was broken by this (bug 36653).
* Also cleaned up a bit of w/s in foreign repo code while in the area.
Change-Id: I429b0a36618cc2b873077516e9c1023dc5b7d693
Timo Tijhof [Wed, 9 May 2012 06:09:42 +0000 (06:09 +0000)]
Merge "(bug 36669) Installer CSS outdated"
Timo Tijhof [Wed, 9 May 2012 03:08:26 +0000 (05:08 +0200)]
Remove 'jquery.ui.button' as dependency for mediawiki.action.history
- Follows-up
91c38e63da79e1bf426907f052e156140716e653
which last updated this module after which jquery.ui was no longer
used.
Change-Id: If8c6b64ca76dd4c03e8c65145efba30e579e39a8
Krinkle [Wed, 9 May 2012 03:04:00 +0000 (03:04 +0000)]
Merge "Upgrade to jQuery UI 1.8.20"
Aaron [Wed, 9 May 2012 00:29:34 +0000 (17:29 -0700)]
[FileRepo] Purging/transaction fixes.
* Purge old version thumbnails on move
* Pushed purge operations outside of the DB transaction for move/delete
Change-Id: I260940149599eea814226d3c5b7092f4d6544a72
Timo Tijhof [Wed, 9 May 2012 00:08:04 +0000 (02:08 +0200)]
(bug 36669) Installer CSS outdated
Change-Id: I7ac606f2e8538eb5fd10a3944cf9d8b42bbc5ed5
Timo Tijhof [Wed, 9 May 2012 00:15:01 +0000 (00:15 +0000)]
Merge "Checking out RELEASE-NOTES-1.19 from branch gerrit/REL1_19"
Timo Tijhof [Wed, 9 May 2012 00:14:32 +0000 (02:14 +0200)]
Checking out RELEASE-NOTES-1.19 from branch gerrit/REL1_19
- File was updated inside the branch, updating master.
Change-Id: Ie54e621a1ce5494d98bcd76d4c858c0ed423e581
Aaron Schulz [Tue, 8 May 2012 22:54:59 +0000 (22:54 +0000)]
Merge changes Ic19071c7,Icc8dc4ae
* changes:
Message documentation for Icc8dc4ae (circular references in strip tags)
(bug 35315) Detect circular references in strip tags
Siebrand [Tue, 8 May 2012 21:55:36 +0000 (21:55 +0000)]
Merge "Typo in comment"
Catrope [Tue, 8 May 2012 21:54:22 +0000 (21:54 +0000)]
Merge "Re-enable css @import unit tests"
Platonides [Tue, 8 May 2012 21:27:21 +0000 (23:27 +0200)]
Typo in comment
Change-Id: Ic5e1451f86d7bcda374fd12b5a9b85fe199a7c1a
Translation updater bot [Tue, 8 May 2012 20:51:32 +0000 (20:51 +0000)]
Localisation updates from translatewiki.net.
Change-Id: I787349e3479ad12431d82ead7c9ae58f3675fd66
Brion VIBBER [Tue, 8 May 2012 20:47:59 +0000 (20:47 +0000)]
Merge "Show descriptive error message on invalid title instead of showing an empty line"
Brion VIBBER [Tue, 8 May 2012 20:30:55 +0000 (20:30 +0000)]
Merge "Optimized SqlBagOStuff::getBatch() a bit."
Brion VIBBER [Tue, 8 May 2012 20:26:28 +0000 (20:26 +0000)]
Merge "(bug 35993) gettoken should go die in a fire (part 1)"
Brion VIBBER [Tue, 8 May 2012 20:24:27 +0000 (20:24 +0000)]
Merge "Make backupTestPass.inc require_once by itself its dependence on backup.inc Change path-less requires to full path ones."
Brion VIBBER [Tue, 8 May 2012 20:21:44 +0000 (20:21 +0000)]
Merge "[FileRepo] Locking and transaction fixes."
Brion VIBBER [Tue, 8 May 2012 20:15:52 +0000 (20:15 +0000)]
Merge "Add new-inline-tags to tidy.conf"
Alexandre Emsenhuber [Tue, 8 May 2012 19:34:40 +0000 (21:34 +0200)]
Show descriptive error message on invalid title instead of showing an empty line
Change-Id: Ided20c465fee37087239a0caef01c7427c5ceeef
Brion VIBBER [Tue, 8 May 2012 18:56:41 +0000 (18:56 +0000)]
Merge "(bug 36568) Fixed "Illegal string offset 'LIMIT'" warnings in updater"
Aaron Schulz [Tue, 8 May 2012 18:50:14 +0000 (18:50 +0000)]
Merge "Don't make two database requests to load the same object, again."
Brion VIBBER [Tue, 8 May 2012 18:36:05 +0000 (18:36 +0000)]
Merge "(bug 20189) Added 'Show/hide selected revisions' button and checkboxes to Special:Log."
Brion VIBBER [Tue, 8 May 2012 18:30:18 +0000 (18:30 +0000)]
Merge "[FileBackend] File locking fixes."
Brion VIBBER [Tue, 8 May 2012 18:28:30 +0000 (18:28 +0000)]
Merge "Make getContinueStr protected as it's used in subclass by TMH"
Brion VIBBER [Tue, 8 May 2012 18:27:46 +0000 (18:27 +0000)]
Merge "Include the namespace of the page in the "target" parameter of the form to confirm display of a deleted file."
Brion VIBBER [Tue, 8 May 2012 18:10:37 +0000 (18:10 +0000)]
Merge "ORDER BY/GROUP BY accept arrays"
Reedy [Tue, 8 May 2012 18:08:43 +0000 (19:08 +0100)]
Make getContinueStr protected as it's used in subclass by TMH
Change-Id: I3bd265805122d3ae12b986d1396ca634ca9f8097
Aaron Schulz [Tue, 8 May 2012 17:23:38 +0000 (17:23 +0000)]
Merge "Fix comment ResourceLoader::tryRespondFromFileCache()."
Hashar [Tue, 8 May 2012 16:12:58 +0000 (16:12 +0000)]
Merge "Added Linker::getInvalidTitleDescription() to display invalid title entries in various places."
Nikerabbit [Tue, 8 May 2012 15:58:29 +0000 (15:58 +0000)]
Merge "Use CamelCase in both ConfirmEmail and InvalidateEmail page names."
Alexandre Emsenhuber [Tue, 8 May 2012 15:53:59 +0000 (17:53 +0200)]
Fix comment ResourceLoader::tryRespondFromFileCache().
Mention ResourceFileCache instead of ObjectFileCache for the $fileCache parameter since the signature is
function tryRespondFromFileCache( ResourceFileCache $fileCache, ResourceLoaderContext $context )
Change-Id: I8e738c847ea358117a2a9b54f41fdb10308e2656
Alexandre Emsenhuber [Tue, 8 May 2012 12:51:21 +0000 (14:51 +0200)]
Added missing GPLv2 headers in some places.
Also made file/class documentation more consistent.
Change-Id: I604ed8ddc572e89001e49df6740ab42307bc0330
Alexandre Emsenhuber [Fri, 4 May 2012 12:32:10 +0000 (14:32 +0200)]
Include the namespace of the page in the "target" parameter of the form to confirm display of a deleted file.
Currently the name of the file is sent without the "File:" prefix making MediaWiki think we want to display a page in the main namespace.
Change-Id: I5a42764c8e9289d13b95a1989be63fdf357bc6ef
Liangent [Tue, 8 May 2012 09:25:03 +0000 (17:25 +0800)]
Use CamelCase in both ConfirmEmail and InvalidateEmail page names.
Change-Id: I2685023eff58479f0eecd3d6ff416cbe22ee425a
Aaron Schulz [Wed, 11 Apr 2012 04:56:42 +0000 (21:56 -0700)]
[FileBackend] File locking fixes.
* Fixed unlocking logic in FSLockManager for case when an EX lock was made, then an SH one, and then the EX one was "unlocked"
* Avoid hiding useful unlink() warnings in FSLockManager
* Reduced locking use in test cleanup code
* Added a simple testLockCalls() test function
* Made a few cleanups & fixes to backend tests
Change-Id: I1110d9b537c450d9feca5a2fb35519c22435e81d
Tim Starling [Tue, 8 May 2012 04:49:35 +0000 (14:49 +1000)]
Message documentation for Icc8dc4ae (circular references in strip tags)
Change-Id: Ic19071c752df87bb8efe6852599563cd1d036b6e
Tim Starling [Mon, 23 Apr 2012 02:03:02 +0000 (12:03 +1000)]
(bug 35315) Detect circular references in strip tags
Explicitly detect circular references in strip tags and break the loop,
similar to how we deal with circular references in templates. This is
necessary to support Scribunto since we imagine we will provide an API
that allows strip markers to be forged.
The recursion depth limit is a consequence of changing the algorithm
from iterative to recursive, it's required to protect the stack against
deeply nested #tag invocations.
Change-Id: Icc8dc4aedbced55ad75b3b5a5429a376d06d9b31
Alex Monk [Tue, 8 May 2012 01:32:15 +0000 (02:32 +0100)]
(bug 20189) Added 'Show/hide selected revisions' button and checkboxes to Special:Log.
Change-Id: I2c4d4e1234d5ab9f7d514831351ea3b298811165
Tim Starling [Tue, 8 May 2012 01:02:55 +0000 (11:02 +1000)]
Fix for r113993: don't log UsageException instances
Change-Id: I205252534fcf7a0ee486938123c1e15cd036f4f1
Demon [Tue, 8 May 2012 00:06:03 +0000 (00:06 +0000)]
Merge "Make $wgShowExceptionDetails=false more feasible for production"
Tim Starling [Mon, 7 May 2012 23:53:58 +0000 (09:53 +1000)]
Make $wgShowExceptionDetails=false more feasible for production
* Make the HTML error message prettier, with a nice red box and
instructions to modify LocalSettings.php hidden in an HTML comment.
* Show the exception class name, since that's pretty safe.
* Show a random "log ID" to the user, and also send it to the exception
log, to allow easier log correlation.
* Optionally send backtraces to the error log, enabled by default.
Change-Id: Ie92e46032b3d194c4217119567847a38a53be577
Kaldari [Mon, 7 May 2012 23:30:48 +0000 (16:30 -0700)]
Fixing fatal error - you can't call getUser on a WebRequest object
Change-Id: I323e9c39cd89673b7e369df3b77573e51f4ea2e3
Aaron Schulz [Mon, 7 May 2012 23:21:56 +0000 (23:21 +0000)]
Merge "Treat truncated HTTP requests as errors."
Aaron Schulz [Mon, 7 May 2012 23:03:02 +0000 (23:03 +0000)]
Merge "add type check and bail out when title could not be created"
Aaron Schulz [Mon, 7 May 2012 22:59:22 +0000 (22:59 +0000)]
Merge "Let tablesUsed imply needsDB in MediaWikiTestCase."
Aaron Schulz [Mon, 7 May 2012 22:56:45 +0000 (22:56 +0000)]
Merge "fix 2 missing "local var" JavaScript statements"
Aaron Schulz [Mon, 7 May 2012 22:53:13 +0000 (22:53 +0000)]
Merge "Adding $this->tablesUsed to RevisionStorageTest."
daniel [Wed, 2 May 2012 17:35:42 +0000 (19:35 +0200)]
Adding test case for basic WikiPage functionality, including database interaction.
New tests are added to avoid regressions when the ContentHandler facility
is introduced.
Changeset 3: use tablesUsed to allow database cleanup after test, as per
Aaron's suggestion.
Changeset 4: use array_merge instead of +=.
Changeset 5: trying dumber rollback test to see of jenkins likes it better.
Change-Id: I0a9f8dfd30031baa4b12cc128a39059868149884
daniel [Fri, 4 May 2012 14:02:09 +0000 (16:02 +0200)]
Let tablesUsed imply needsDB in MediaWikiTestCase.
If the test says it uses database tables, then it needs the database.
And while we are at it, make the check for the test group declaration
more lenient.
Patch set 2: tweaked according to demon's comments.
Change-Id: Ib123745d45b85cebeab5ec87ea7d8227ec3d1dea
Platonides [Mon, 7 May 2012 21:13:04 +0000 (23:13 +0200)]
Treat truncated HTTP requests as errors.
We detect such prematurely ended request when there's a Content-Length
greater than the body we got. A strict comparison would easily fail
when there was a content encoding layer, but hopefully we won't hit
a compressed request _larger_ than the original content.
See http://thread.gmane.org/gmane.org.wikimedia.mediawiki/39622
for breakage caused by truncated HTTP replies.
Change-Id: I71418424730d46a781bde5cbfda8038457ec79c5
daniel [Wed, 2 May 2012 17:34:35 +0000 (19:34 +0200)]
Adding $this->tablesUsed to RevisionStorageTest.
This is a follow-up to I6934d03e (no 6414).
Declare tables in $this->tablesUsed to allow for database clenaup,
as Aaron suggested.
Change-Id: Iac05b0428b335879729f6d3b993eac0d3151429c
Antoine Musso [Mon, 7 May 2012 21:39:14 +0000 (21:39 +0000)]
Merge "(bug 36603) Make DumpFilter::$sink public again"
Antoine Musso [Mon, 7 May 2012 21:34:07 +0000 (14:34 -0700)]
(bug 36603) Make DumpFilter::$sink public again
This is required by dump unit testing for now. The change was introduced
by commit
ab6e54e0 https://gerrit.wikimedia.org/r/#/c/6089/
We will have to update the Dump tests to no more reference sink directly
but use a proper accessing method that has yet to be written.
Change-Id: I1246739c4ea174b13af475db8cfcb48740ecc2df
Translation updater bot [Mon, 7 May 2012 21:19:42 +0000 (21:19 +0000)]
Localisation updates from translatewiki.net.
Added language file for "sat", updated Names.php and RELEASE-NOTES.
Change-Id: I2dbe696fbe5b98352895fe1be2de96eb767b2b0b
Aaron Schulz [Mon, 7 May 2012 17:44:34 +0000 (17:44 +0000)]
Merge "Made WikiPage recall the source of the data used to load its state."
Hashar [Mon, 7 May 2012 16:39:14 +0000 (16:39 +0000)]
Merge "Adding tests for dumps"
Alexandre Emsenhuber [Tue, 10 Apr 2012 09:28:48 +0000 (11:28 +0200)]
Added Linker::getInvalidTitleDescription() to display invalid title entries in various places.
This method will use two new messages 'invalidtitle-knownnamespace' and 'invalidtitle-unknownnamespace' depending on the fact that the given namespace number exists or not.
I did put that method in Linker because I plan to use it in various places, notably in other QueryPage and Pager subclasses.
Change-Id: I13e7cdc2c0a8e86dc5e4b144b6012f3864d2ec06
Alexandre Emsenhuber [Mon, 7 May 2012 13:52:55 +0000 (15:52 +0200)]
(bug 36568) Fixed "Illegal string offset 'LIMIT'" warnings in updater
No RELEASE-NOTES entry since this is going to be backported and RELEASE-NOTES-1.19 is out of sync.
Change-Id: I1ec6c824677606ac6f93cc43345942e4de8bd3f4
Demon [Mon, 7 May 2012 12:32:20 +0000 (12:32 +0000)]
Merge "Localisation updates from translatewiki.net."
Demon [Mon, 7 May 2012 12:26:34 +0000 (12:26 +0000)]
Merge "(bug 36537) Rename wfArrayToCGI to wfArrayToCgi"
Siebrand [Mon, 7 May 2012 10:22:46 +0000 (10:22 +0000)]
Merge "Pass the result of the database queries in Title::getPreviousRevisionID() and Title::getNextRevisionID() into intval()."
Alexandre Emsenhuber [Thu, 26 Apr 2012 20:59:19 +0000 (22:59 +0200)]
Made WikiPage recall the source of the data used to load its state.
In WikiPage.php:
* Added WikiPage::$mDataLoadedFrom to store the source of the data used to load the state of the object and four new WikiPage::DATA_* constants for its possible values.
* Added WikiPage::convertSelectType() to convert 'fromdb', 'fromdbmaster' and 'forupdate' to the new WikiPage::DATA_* constants.
* Added $options to WikiPage::pageData(), WikiPage::pageDataFromTitle() and WikiPage::pageDataFromId() so that the "FOR UPDATE" option can be passed to DatabaseBase::select().
* Added new possibility "forupdate" to WikiPage::loadPageData() load the data from the master database using SELECT FOR UPDATE; this avoids to have to do this by LinkCache (via Title::getArticleID( Title::GAID_FOR_UPDATE ) )).
* Changed WikiPage::doDeleteArticleReal() to use this new feature so that all the data stored in WikiPage is up-to-date.
My point is also to deprecate the loading using SELECT FOR UPDATE in Title and remove LinkCache::forUpdate() at some point (there are still one usage in Title::moveTo(), two other in UploadFromUrlTest plus some in extensions).
In EditPage.php:
* Don't call WikiPage::clear() after fetching informations from master, this destroys all we work we did to get the correct data.
* Reload the whole data from master using SELECT FOR UPDATE directly in WikiPage and not only in Title. The problem was that before, the up-to-date information was only available in Title and not in WikiPage.
Consider the following sequence from a MySQL prompt (where both revision 1 and 2 belong to page one, revision #2 being the current one):
mysql> UPDATE page SET page_latest=1 WHERE page_id=1;
mysql> COMMIT;
// Now grad the edit form for page #1 from the web and do some changes
mysql> BEGIN;
mysql> SELECT page_latest FROM page WHERE page_id=1 FOR UPDATE;
// Now submit the web form
mysql> UPDATE page SET page_latest=2 WHERE page_id=1;
mysql> COMMIT;
Before you ended-up with a "edit conflict" form with revision #1's text being displayed as current text (even if the texts are mergeable), due to the fact that
in the submit request the WikiPage object was loaded at the moment where page_latest was 1 (certainly due to MySQL's "consistent read" feature) making the
"UPDATE page SET ... WHERE page_id=1 AND page_latest=1" query of WikiPage::updateRevisionOn() return zero row, and thus WikiPage::doEdit returing a fatal Status object with message "edit-conflict".
Now the SELECT FOR UPDATE is done in the WikiPage, meaning that the object has the correct data and EditPage will correctly try to merge the revisions (and show the correct edit conflict if needed).
Change-Id: Ic4878ddb4dd96432b7ecaf43f9f359458d966999
Alexandre Emsenhuber [Mon, 7 May 2012 07:11:33 +0000 (09:11 +0200)]
Added missing GPLv2 headers in some places.
Also made file/class documentation more consistent.
Change-Id: Iad15427368d13a6cc11c8512b7265e8c7b8878a5
Aaron Schulz [Mon, 7 May 2012 06:28:03 +0000 (23:28 -0700)]
[FileRepo] Locking and transaction fixes.
* Make sure locks for file moves cover the whole operation.
* Pushed purging out of the move/delete/restore transactions.
Change-Id: I398c5627808fa79739f0dee632c4edf7416507c1
Aaron Schulz [Mon, 7 May 2012 01:13:04 +0000 (01:13 +0000)]
Merge "$wgGitRepositoryViewers to link to gitweb"
Siebrand [Sun, 6 May 2012 21:12:29 +0000 (21:12 +0000)]
Merge "Added missing GPLv2 headers in some places."
Platonides [Sun, 6 May 2012 20:31:03 +0000 (22:31 +0200)]
Make backupTestPass.inc require_once by itself its dependence on backup.inc
Change path-less requires to full path ones.
Change-Id: Ida37a3ec9bb1d5c99f4bbbf6d967cb40d0442e38
Jan Gerber [Wed, 2 May 2012 12:49:35 +0000 (14:49 +0200)]
Add new-inline-tags to tidy.conf
by default tidy does not support html5 tags.
TimedMediaHandler outputs video, audio and source
To make TimedMediaHandler work with $wgUseTidy = true,
those tags need to be allowed in tidy.conf:
new-inline-tags: video,audio,source,track
Fixes #30541
Change-Id: I528c9521e9277be308a6a75cc3fc57c83905b5df
saper [Sun, 6 May 2012 20:12:14 +0000 (22:12 +0200)]
$wgGitRepositoryViewers to link to gitweb
My git remote is configured just to be ssh://review/mediawiki/core.git
and I have "review" set up in $HOME/.ssh/config.
Unfortunately, I need to change git remote URLs to make sure
the repository is linked from Special:Version.
This shouldn't be necessary; either we should fallback to the
official MediaWiki git repository or we should add the configuration
option to adapt to local needs.
Change-Id: I2e0b6470c16ec36d0e94cceab844f4a4c4334067
Translation updater bot [Sun, 6 May 2012 18:31:11 +0000 (18:31 +0000)]
Localisation updates from translatewiki.net.
Change-Id: I731ab96929dac09112de978b4ed387b044893d36
Szymon Świerkosz [Sun, 6 May 2012 14:43:09 +0000 (16:43 +0200)]
(bug 35993) gettoken should go die in a fire (part 1)
Mark gettoken param as deprecated, so users can fix their tools.
The second part will remove the support for gettoken from ApiMain,
but that is in the future.
Change-Id: I369ddc740c38d80aa8389544087ac6671cabc618
Szymon Świerkosz [Fri, 4 May 2012 10:31:08 +0000 (12:31 +0200)]
Move optionstoken from meta=userinfo to action=tokens.
Follow up to I0d6c654a7354ba77e65e338423952a6a78c1150f.
I have also added a URL to a help page on mw.org.
Change-Id: Ie223930cfc313aff150e2dcfd70b74bf4360a8a8